package com.boot.security.config.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.Collections;
import java.util.List;

/**
 * @author 霜寒 <1621856595@qq.com>
 * @description 需要被过滤器忽略的Web接口
 * @date 2020/2/17 15:22
 **/

@ConfigurationProperties(prefix = "boot.security.web.ignore")
@Data
public class WebIgnoreProperties {

    /**
     * @description 是否放行全部 URL
     * @date 2020/12/3 19:51
     **/
    private Boolean all = Boolean.FALSE;

    /**
     * @description 需要忽略的 URL 格式，不考虑请求方法
     * @date 2020/2/17 15:24
     **/
    private List<String> pattern = Collections.emptyList();

    /**
     * @description 需要忽略的 GET 请求
     * @date 2020/2/17 15:24
     **/
    private List<String> get = Collections.emptyList();

    /**
     * @description 需要忽略的 POST 请求
     * @date 2020/2/17 15:24
     **/
    private List<String> post = Collections.emptyList();

    /**
     * @description 需要忽略的 PUT 请求
     * @date 2020/2/17 15:24
     **/
    private List<String> put = Collections.emptyList();

    /**
     * @description 需要忽略的 PATCH 请求
     * @date 2020/2/17 15:24
     **/
    private List<String> patch = Collections.emptyList();

    /**
     * @description 需要忽略的 DELETE 请求
     * @date 2020/2/17 15:24
     **/
    private List<String> delete = Collections.emptyList();

    /**
     * @description 需要忽略的 OPTIONS 请求
     * @date 2020/2/17 15:24
     **/
    private List<String> options = Collections.emptyList();

}
